//
//  UIImage+Extension.h
//  LantaiyuanBus
//
//  Created by lantaiyuan on 16/7/26.
//  Copyright © 2016年 lantaiyuan. All rights reserved.
//

#import <UIKit/UIKit.h>

@interface UIImage (Extension)
/**
 *  在图片上画数字
 *
 *  @param idx   所需要绘制的数字
 *  @param image 目标图片
 *
 *  @return 绘制好文字的图片
 */
+ (UIImage *)imageWith:(NSUInteger)idx font:(UIFont *)font with:(UIImage *)image;


/**
 在图片上画文字

 @param string 所需要绘制的文字
 @param font 大小
 @param image 目标图片
 @return 绘制好文字的图片
 */
+ (UIImage *)imageWithString:(NSString *)string font:(UIFont *)font with:(UIImage *)image;

/*
 * @brief 根据指定的Rect来截取图片，返回截取后的图片
 * @param rect 指定的Rect，如果大小超过图片大小，就会返回原图片
 * @return 返回截取后的图片
 */
- (UIImage *)subImageWithRect:(CGRect)rect;

/*
 * @brief 把图片等比例缩放到指定的size
 * @param size 缩放后的图片的大小
 * @return 返回缩放后的图片
 */
- (UIImage *)scaleToSize:(CGSize)size;

/**
 *  生成指定大小的纯色图片
 *
 *  @param color 颜色
 *  @param size  大小
 *
 *  @return 生成后的纯色图片
 */
+ (UIImage *)imageWithColor:(UIColor *)color size:(CGSize)size;

/**
 根据颜色和尺寸生成图片

 @param width 宽
 @param height 高
 @return 图片
 */
- (UIImage *)transformWidth:(CGFloat)width height:(CGFloat)height;
// 等比压缩图片到targetsize
- (UIImage *)imageCompressForSize:(UIImage *)sourceImage targetSize:(CGSize)size;
// 压缩图片小于length字节
- (NSData *)compressImageBelow:(NSInteger)length;
- (UIImage *)squareImage;
/**
 图片等比例压缩
 */
+(UIImage *) imageCompressForWidth:(UIImage *)sourceImage targetWidth:(CGFloat)defineWidth;

//缩放图片
+ (UIImage *)scaleImage:(UIImage *)image toScale:(float)scaleSize;

//动态改变图片大小
+(UIImage*)imageWithImage:(UIImage*)image scaledToSize:(CGSize)newSize;
@end
